package controlador;

import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.List;

import dao.ProveedorDAO;
import dominio.Proveedor;
import dto.ProveedorTO;
import remoto.IGestionProveedores;

public class GestionProveedores extends UnicastRemoteObject implements IGestionProveedores, Serializable {
	private static final long serialVersionUID = 1L;

	public GestionProveedores() throws RemoteException {
		super();
	}

	@Override
	public int guardarProveedor(ProveedorTO proveedor) throws RemoteException {
		return ProveedorDAO.getInstance().guardarProveedor(Proveedor.fromDTO(proveedor));
	}

	@Override
	public ProveedorTO buscarProveedor(String cuil) throws RemoteException {
		Proveedor p = ProveedorDAO.getInstance().buscarProveedor(cuil);
		if (p != null)
			return p.getDTO();
		return null;
	}

	@Override
	public List<ProveedorTO> listarProveedores() throws RemoteException {
		List<ProveedorTO> lista = new ArrayList<ProveedorTO>();
		List<Proveedor> proveedores = ProveedorDAO.getInstance().listarProveedores();
		for (Proveedor p : proveedores)
			lista.add(p.getDTO());
		return lista;
	}
}